package br.ufmg.dees.insane.ui.rich.learn.util.matriz;

/** Classe para um objeto que contem as matrizes L e U da fatorizacao
 * 
 * @author Camara, Luciana
 * @since 07/06/05 
 * @version 1.0 */
public class LU {
  private double[][] matL;
  private double[][] matU;
  /** construtor da classe
   * @param mL matriz com os valores de L (deve ser quadrada)
   * @param mU matriz com os valores de U (deve ser quadrada)     */
  public LU(double[][]mL,double[][]mU){
    int n=mL.length; // as matrizes L e U sao quadradas!!!
    matL=new double[n][n];
    matU=new double[n][n];
    for (int i=0;i<n;i++)
      for (int j=0;j<n;j++){
        this.matL[i][j]=mL[i][j];
        this.matU[i][j]=mU[i][j];
      }
  }
  /** @return Returns the matL. */
  public double[][] getMatL() {
    return matL;
  }
  /** @param matL The matL to set. */
  public void setMatL(double[][] matL) {
    for (int i=0;i<matL.length;i++)
      for (int j=0;j<matL.length;j++) this.matL[i][j]=matL[i][j];
  }
  /** @return Returns the matU. */
  public double[][] getMatU() {
    return matU;
  }
  /** @param matU The matU to set. */
  public void setMatU(double[][] matU) {
    for (int i=0;i<matL.length;i++)
      for (int j=0;j<matL.length;j++) this.matU[i][j]=matU[i][j];
  }
  /** @return Returns the order of the system. */
  public int getOrder() {
    return matL.length;
  }
}// fim da classe LU
